1. Field of the Invention
The invention relates to active matrix decoder systems and methods for decoding a number of audio input signals (e.g., two input channels) into a greater number of audio output signals (e.g., five output channels, which may be full-frequency output channels). In some embodiments, the invention relates to such matrix decoder systems and methods which operate in the frequency domain, and in which an active matrix element is steered using gain control values generated without use of feedback.
2. Background of the Invention
Throughout this disclosure including in the claims, the terms “decoder” and “decoder system” are used synonymously.
Throughout this disclosure including in the claims, the expression performing an operation (e.g., filtering or transforming) “on” signals or data is used in a broad sense to denote performing the operation directly on the signals or data, or on processed versions of the signals or data (e.g., on versions of the signals that have undergone preliminary filtering prior to performance of the operation thereon).
Throughout this disclosure including in the claims, the expression “rear” location (e.g., “rear source location”) denotes a location behind a listener's head, and the expression “front” location” (e.g., “front output location”) denotes a location in front of a listener's head. Similarly, “front” speakers denotes speakers located in front of a listener's head and “rear” speakers denotes speakers located behind a listener's head.
Throughout this disclosure including in the claims, the expression “system” is used in a broad sense to denote a device, system, or subsystem. For example, a subsystem that implements a decoder may be referred to as a decoder system, and a system including such a subsystem (e.g., a system that generates X output signals in response to multiple inputs, in which the subsystem generates M of the inputs and the other X-M inputs are received from an external source) may also be referred to as a decoder system.
Throughout this disclosure including in the claims, the expression “reproduction” of signals by speakers denotes causing the speakers to produce sound in response to the signals, including by performing any required amplification and/or other processing of the signals.
An audio matrix decoder functions to decode X discrete audio channels (determined by X input signals) into Y channels (determined by Y output signals) for playback, where X and Y are integers and Y is greater than X. The input channels are sometimes matrix encoded from a larger number of channels. Examples of matrix encoder/decoder technologies include Quadraphonic Stereo (described for example in Bauer, Benjamin B., et al. “Quadraphonic Matrix Perspective—Advances in SQ Encoding and Decoding Technology”, J. Audio Engineering Society., vol. 21, 9 pp., June 1973), Ambisonics (described, for example, in Michael Gerzon, “Surround-sound psychoacoustics, Criteria for the design of matrix and discrete surround-sound systems”, Wireless World, December 1974, pp. 483-485), the Dolby Pro Logic II technology (described for example by Kenneth Gundry, in the paper “A new active matrix decoder for surround sound”, Proc. AES 19th International Conference on Surround Sound, June 2001), and the Dolby Pro Logic technology.
FIG. 1 is an example of a simple, conventional 2-channel to 4-channel decoder of the type known as a passive matrix decoder. The passive matrix decoder does not attempt to analyze the input signals and instead makes assumptions regarding the input signals' encoding (if any). In FIG. 1, input signals Left Total (Lt) and Right Total (Rt) are fed directly to a left (L) output and a right (R) output. A center (C) output is derived by summing input signals Lt and Rt in summation element 2 and asserting the resulting sum signal to amplifier 1 which applies a gain thereto. A surround (S) output is derived by generating the difference of input signals Lt and Rt in subtraction element 4 and low-pass filtering the resulting difference signal in low pass filter (LPF) 3.
FIG. 2 is an example of a conventional 2-channel to 5-channel decoder of the type known as an active matrix decoder. The decoder of FIG. 2 includes active decoding matrix 6. Matrix 6 is coupled to receive Left Total (Lt) and Right Total (Rt) input signals, and configured to generate five output signals (left output “L,” right output “R,” center output “C,” left surround output “Ls,” and right surround output “Rs” in response to the input signals and control signals from steering element 7. The active matrix decoder of FIG. 2 sums the input signals in summation element 2, and generates the difference of the input signals in subtraction element 4. The sum and difference signals output from elements 2 and 4 are not fed directly to the output channels (as in FIG. 1). Instead, the sum and difference signals output from elements 2 and 4 are asserted with input signals Lt and Rt to steering element 7. In response to these signals, steering element 7 analyzes the input signals in a way that allows it to continuously “steer” the decoding matrix 6. Active matrix 6 determines the output channel mixing based on the steering control signals asserted thereto from element 7.
It is well known how to implement active decoding in the time domain with a steering element that uses feedback to generate gain control signals for controlling an active matrix element. For example, U.S. Pat. No. 7,280,664 and U.S. Pat. No. 6,920,223, assigned to Dolby Laboratories Licensing Corporation, describe such decoding.
The active matrix decoder of U.S. Pat. No. 7,280,664 includes a steering element (e.g., element 230 of FIG. 16A) which includes servo circuitry which employs feedback to generate control signals for generating matrix coefficients to be applied by an active matrix element. For example, element 230 of FIG. 16A of U.S. Pat. No. 7,280,664 can include the servo circuitry of FIGS. 17-19 which uses feedback to generate control signals gL, gR, gF, gB, gLB, and gRB. These gain control signals are used to generate updated matrix coefficients to be applied by adaptive matrix 214 of FIG. 16A. For example, the servo circuitry of FIG. 17 generates control signals gL and gR in response to audio signal samples Lt′ and Rt′ including by asserting the signals gL and gR as feedback to the inputs Lt′ and Rt′ (and combining the signals gL and gR with the inputs Lt′ and Rt′ respectively, in elements 242, 240, 252, and 250). The outputs of elements 240 and 250, which are (1-gL)Lt′ and (1-gR)Rt′ respectively, are used to update the value of control signal LR. The updated value of signal LR determines updated values of the control signals gL and gR.
It is also known to implement active decoding in the time domain with a steering element that does not use feedback to generate gain control signals for controlling an active matrix element. Such an active decoder is described, for example, in U.S. Pat. No. 4,799,260, assigned to Dolby Laboratories Licensing Corporation. However, the active matrix decoding described in U.S. Pat. No. 4,799,260 is performed without determining (in accordance with perceptually motivated considerations) critical frequency bands of the input audio signals' full frequency range. The active matrix decoding described in U.S. Pat. No. 4,799,260 is also performed without generating gain control values for different ones of such critical frequency bands, and without filtering the input audio signals to generate input subband signals each in a different critical frequency band or implementing a different active matrix for each of multiple critical frequency bands.
The expression “critical frequency bands” (of a full frequency range of a set of one or more audio signals) herein denotes frequency bands of the full frequency range that are determined in accordance with perceptually motivated considerations. Typically, critical frequency bands that partition the full audible frequency range have width that increases with frequency across the full audible frequency range.
It has been suggested to perform active matrix decoding in the time domain with generation of gain control values for different ones of multiple critical frequency bands of input audio signals. For example, U.S. Pat. No. 7,003,467, which indicates on its face that it is assigned to Digital Theater Systems, Inc., teaches an active matrix decoder implemented in the time domain. The decoder applies bandpass filters to audio input signals to generate a set of input subband signals, each indicative of a different frequency band of the full frequency range of the input signals, and then decodes the subband signals. U.S. Pat. No. 7,003,467 teaches that the subband signals can be combined into a smaller number of grouped signals, each indicative of a different critical frequency band (of a type known as a “bark band”) of the full frequency range of the input signals, and the grouped signals can then be decoded. However, U.S. Pat. No. 7,003,467 does not teach (and it had not been known until the present invention) how to implement active decoding in the frequency domain including by filtering input audio signals to generate input subband signals each in a different critical frequency band, generating gain control values independently for each of the critical frequency bands, and applying a different active matrix to each of the input subband signals. Nor does U.S. Pat. No. 7,003,467 suggest that active audio signal decoding should be implemented in the frequency domain, or how to implement such frequency domain active decoding in an efficient manner (e.g., with low processor speed (e.g., low MIPS) requirements).
There is a need for an active matrix decoder which decodes different critical frequency bands of input audio signals in a manner tailored to the input audio content in each critical frequency band (including by generating gain control values for decoding different critical frequency bands of the input audio) to achieve improved sonic performance in an efficient manner, and in a manner implementable with low processor speed (e.g., low MIPS) requirements. Typical embodiments of the present invention achieve improved sonic performance (including greater frequency selectivity without perceptual artifacts) with reduced computational requirements by decoding different critical frequency bands of frequency domain input audio in a manner tailored to the input audio content in each critical frequency band (including by generating gain control values for decoding different critical frequency bands of the input audio).
Until the present invention it had not been known how to implement a perceptually motivated audio matrix decoder that converts N (e.g., N=2) audio input channels into M (where M is greater than N) full-frequency audio output channels, including by transforming the input signals into the frequency domain (when the input signals are not already in the frequency domain), asserting the resulting input frequency components to an active matrix element which generates M output streams of frequency components in response thereto, and steering the active matrix element without use of feedback. Nor had been known how to implement such steering with a criterion for the steering determined using power ratios (generated from the frequency domain input audio for each critical frequency band in a set of critical frequency bands), including by shaping in nonlinear fashion and scaling the power ratios.